Copyright: APRCalc Help (C) 1993-94 Larry Leonard


Help Index
APRCalc Help Contents

    APRCalc quickly figures APR payments for such things as mortgage loans, car loans, and student loans.

Introduction:

Overview

New Features

How To:

Enter Values

Calculate a Payment Given the Amount, Term, and Rate

Calculate an Amount Given the Term, Rate, and Payment

Calculate a Term Given the Amount, Rate, and Payment

Calculate a Rate Given the Amount, Term, and Payment

Amortize Payments

Export an Amortization

Calculate a Discount Points Breakeven Date

Open a File

Create a New File

Open the Most Recently Used Files

Save a File

Clone a Copy of APRCalc

Watch the Calculations

Keep APRCalc Always on Top

Set Spinbutton Increments

Choose the Payment Period

Select a Background Color

Save the Settings and Values on Exit

Add A Note

Create an Icon for a File in Program Manager

Create an Icon for a File in Program Manager Using Drag and Drop

Opening a File via Drag-and-Drop

Do Side by Side Comparisions

Un-install APRCalc

Technical Notes:

Implementation Notes

The APR Payment Equation

Comparing APRCalc with Actual Payments

Planned Enhancements

Revision History

Registration:

Registering APRCalc

License Agreement and Warranty Disclaimer

Definition of Shareware


Overview

APRCalc was meant to be a very small and simple payment calculator, and one that would allow the user to investigate various loan scenarios quickly (it also has been very useful as a learning tool for me).  The program is designed for mortgage loans, car loans, student loans, etc., but is certainly not limited to those examples.

The four variables in an APR loan are the Amount Financed, the Term, the APR Rate, and the Payment; setting any three of these determines the fourth.  Typically, the user would enter a value for each of the three known variables, and then click the "Calculate" button next to the field which is to be calculated.  As each field is entered, the user input is checked for validity (for example, the term of the loan must be a reasonable counting number).

A few options are included, such as the ability to watch the calculations progress (and to see the final exact result), making the APRCalc window always stay on top, and choosing the period (weeks/biweeks/months/quarters) of the payments.  The standard Windows "Cut/Copy/Paste" functionality is supported.  All option settings, numerical values, and the position of the windows can be saved upon exit.

APRCalc is distributed as Shareware (See: Registering), and consists of these files:

1.  APRCALC.EXE - the executable runfile

2.  APRCALC.HLP - the Help file

3.  ORDER.TXT - the registration form

An installation program is provided, or can be done by simply copying APRCALC.EXE and APRCALC.HLP to any directory.  The program does not read or modify any system profiles without asking you first (it creates its own profile in the installed directory, called APRCALC.INI).


New Features

Here are the new features at this revision of APRCalc:

1.  You can now enter the first payment date for a loan, and the amortization schedule will display the date of each payment.

2.  Notes can now be added and saved for each loan using the "Note" pushbutton.  These notes can be up to 32,000 characters long.

3.  A new module has been added to calculate the breakeven date for discount points on a home mortgage loan.

Related Topics:

Planned Enhancements

Revision History


Entering Values

The values for any of the four loan variables may be entered in three ways:

1).  Simply click on the edit field and type the values in.  If you enter an illegal value, APRCalc will tell you.

2).  Use the drop-down box to the right of the edit field to select one of the previous values entered/calculated for this field.

3).  Use the spinbuttons to the left of the edit field to increment or decrement the value of the field by a pre-set amount (see Set Spinbutton Increments).

Also note that you can optionally a first payment date; this date is used by the amortization schedule and other time-related calculations.

Related Topics:

Saving the Settings and Values on Exit


Calculating A Payment

You calculate a Payment by entering a value for the Amount Financed, the Term, and the Interest Rate, and then clicking the "Calculate" button next to the Payment field.

Related Topics:

Calculating an Amount Given the Term, Rate, and Payment

Calculating a Term Given the Amount, Rate, and Payment

Calculating a Rate Given the Amount, Term, and Payment

Comparisons to Actual Payments


Calculating An Amount Financed

You calculate an Amount Financed by entering a value for the Term, the Interest Rate, and the Payment, and then clicking the "Calculate" button next to the Amount field.

Related Topics:

Calculating a Payment Given the Amount, Term, and Rate

Calculating a Term Given the Amount, Rate, and Payment

Calculating a Rate Given the Amount, Term, and Payment


Calculating A Term

You calculate a Term by entering a value for the Amount Financed, the Interest Rate, and the Payment, and then clicking the "Calculate" button next to the Term field.  (The value shown will be in the period you have chosen, that is, Weeks, Biweeks, Months, or Years.)

Related Topics:

Calculating a Payment Given the Amount, Term, and Rate

Calculating an Amount Given the Term, Rate, and Payment

Calculating a Rate Given the Amount, Term, and Payment

Choose the Payment Period


Calculating A Rate

You calculate a Rate by entering a value for the Amount Financed, the Term, and the Payment, and then clicking the "Calculate" button next to the Rate field.

Related Topics:

Calculating a Payment Given the Amount, Term, and Rate

Calculating an Amount Given the Term, Rate, and Payment

Calculating a Term Given the Amount, Rate, and Payment


Amortizing Payments

When money is loaned, two debts must be repaid by the borrower: the Principal and the Interest.  Each payment made by the borrower is applied to both the Interest and the Principal.  In a home mortgage loan, almost all of the early payments go to pay the Interest debt, with a very small portion being applied to Principal (hence the phrase young doorknob owners).  As the loan is paid off, an ever-increasing portion of each payment is applied to the Principal; the last few payments are almost entirely applied to the Principal.

APRCalc will display the amortization of the loan by clicking the Amortization button with the mouse, or by pressing "Alt-A" simultaneously.  Note that you must have calculated the loan variables before the "Amortize" button will be enabled; this is to prevent unrelated values being used as the basis for the amortization.   The amortization window will be in the following format:

The fields in the amortization window are:

Pmt# - The payment number.

Principal - The amount of the payment that is applied to principal.

Interest - The amount of the payment that is applied to interest.

Tot Principal - The total amount that has been applied to principal.

Tot Interest - The total amount that has been applied to interest.

Balance - The principal still remaining after the payment.

The amortization schedule may be printed using the "File, Print..." menu item.  The font used on the screen and the printer may be reduced or enlarged, using the "Options" menu items, to any size in the range of 8 to 36 points.  The amortization window will re-size itself to fit on the screen using the minimum possible size.

Note that the amortization window can be scrolled either by using the mouse on the scrollbar, or by the keyboard's cursor keys.  The "Home" and "End" keys are also supported.

Amortization schedules are calculated in the background, so even for very large terms on very slow computers (which could take as long as two minutes), APRCalc will not "hog" the system - other programs will continue to run, and you may switch to other programs (for instance, via "Alt-Tab") at will.  Also, the amortization calculations are begun as soon as you click a Calculate button, and continue even while the first screenful is displayed; this was done to take advantage of the small but useful amount of idle time between user keystrokes.  You can watch these calculations by selecting the Options, Watch Calculations menu selection (but remember that this will slow down the calculations slightly).

Related Topics:

Exporting an Amortization

Watching the Calculations


Exporting an Amortization

An amortization can be quickly exported to a text file, which can then be read by a spreadsheet or word processor.  The export file is tab-delimited, and by default has a ".TXT" extension.

To export an amortization, select "File, Export..." from the Amortization Window.  You will be prompted for the filename to export to.  If the filename you enter already exists, you will be asked if you want to overwrite it.

Related Topics:

Amortizing Payments


Calculating a Discount Points Breakeven Date
Calculating a Discount Points Beakeven Date

This module is used when you are working with a mortgage loan on a house.  For simplicity, I will describe its use assuming that you are the buyer.

"Discount points", which can be thought of as prepaid interest, is money (expressed in percentage points) the buyer (or seller) pays at the time of sale in order to get a lower interest rate.  For example, on a $100,000 mortgage, 2 discount points would be $2000, and might lower your interest rate fom 8 to 7 percent (I just pulled these numbers out of a hat).  The idea is that by paying a little interest now, you can reduce the amount of interest you would pay over the life of the loan.  Another way to put it is that you are betting that you will stay in the house long enough to recoup the money you paid in discount points by making smaller monthly payments.

This means it will take a certain amount of time before you breakeven.  There are several rules of thumb about this, but this module figures out that breakeven date exactly.   Select "Tools, Discount Points..." from the menu, and the following dialog box will appear:

Enter the number of points (for example, 2) and the new, discounted rate (for example, 7).  Notice that the program calculates the actual dollar amount of the discount points, and the rate difference, as you enter the values.  Now click on the "Calculate" button to determine the Breakeven Date.  This discount points scenario is only a good deal for you if you keep the house until the displayed Breakeven Date or beyond; otherwise you'll lose money on the deal.

The values you enter in the Discount Points dialog box will be saved along with the rest of the loan scenario in its APR file.

Related Topics:

Saving a File


Opening a File

To open a previously saved file, select the "File, Open..." menu item.  From the window that is displayed you may open any APR file.  If you already have a file loaded, and you have made changes to it (but have not yet saved them), you will be asked if you'd like to save them before this new file is opened.

Related Topics:

Saving a File

Opening a File via Drag-and-Drop

Creating an Icon for a File in Program Manager


Creating a New File

A new file can be created in two equivalent ways: the "File, New" menu selction, or the "File, Close" menu selection.  If you already have a file loaded, and you have made changes to it (but have not saved them yet), each of these methods will ask if you want to save them first.

Also, note that you can create a new file through the "File, Save As..." menu selection.  For example, you could examine a mortgage on a new house at 7% APR, save that file as "HOUSE_7.APR", then recalculate the values at 8%, and "save as" that scenario as "HOUSE_8.APR".  (Note that "File, Clone" would actually be a better choice for this particular example.)

Related Topics:

Saving a File

Cloning a Copy of APRCalc

Doing Side by Side Comparisions


Opening the Most Recently Used Files

The four most recently used files appear on the bottom of the "File" menu.  To open one of these files, simply click on it with the mouse, or use the keyboard alternative (for example, "Alt-F-2", sequentially).

Filenames are placed on this list whenever a file is opened (either through the "File, Open..." menu command, or through drag-and-drop), and when a file is saved via the "File, Save As..." menu selection.  If all the files reside in the same directory, only the filename is displayed; otherwise the entire pathname is shown for each.

Related Topics:

Opening a File

Creating a New File

Opening a File via Drag-and-Drop

Saving a File


Saving a File

The Amount, Term, Rate, and Payment values, as well as the frequency of payment (Monthly, etc.) and the color of the screen, can be stored in files so they can be saved permanently.   This way, you can create files for individual loan scenarios, and keep them for future reference; you might, for example, have a file for your home mortgage, a file for your student loan, and a file for your car.

Filenames must follow the usual DOS conventions (up to eight characters, a period, and then up to three more characters).  APRCalc requires that its files have an extension of "APR"; this to prevent accidental erasure of non-APR files.  Legal filenames would be "THEHOUSE.APR", "JOHN_CAR.APR", or "STUDLOAN.APR".

To save a scenario to a file on a disk, select the "File, Save" (or "File, Save As...") menu selection.

Related Topics:

Saving the Settings and Values on Exit

Opening a File

Creating a New File

Opening the Most Recently Used Files

Saving a File

Cloning a Copy of APRCalc

Creating an Icon for a File in Program Manager

Creating an Icon for a File in Program Manager Using Drag and Drop

Opening a File via Drag-and-Drop


Cloning a Copy of APRCalc

Cloning is a way to launch APRCalc from inside APRCalc, with the currently loaded file already loaded in the cloned copy.

You would want to do this so that you could run APRCalc side-by-side and compare two (or more) loan scenarios.  For example, let's say youre looking at a new car, and "Jerry's Jalopies" says he can get you a car loan at 10%. You'd rather stay with your bank ("First Brigandage"), but they want 10.5%, which seems like a big difference.  But is it?  You decide to find out.

First, you run APRCalc and enter in the loan variables; say, $15,000, for 48 months, at 10%.  The payment comes to $380.44.  You save this scenario as "NICE_CAR.APR".

At this point, you could go back to the Program Manager and run another copy of APRCalc, and then reopen the "NICE_CAR.APR" file.  Instead, you select "File, Clone" from the menu.  A new copy of APRCalc appears on the screen with "NICE_CAR.APR" already loaded.  You change the rate to 10.5%, and see that the payment is now $384.05 - less than $4 per month more.  You decide it's worth it to stay with your bank.

Note that before you clone the new copy, you must save the file - the clone's copy reads the saved file, not the current values in the "donor".  "File, Clone" will tell you if the file needs to be saved, and give you the chance to clone anyway.

Related Topics:

Doing Side by Side Comparisions

Saving a File


Watching the Calculations

By selecting "Watch Calculations" from the "Options" menu, you can see the internal calculations and the exact final result.

The calculations are displayed in an unused area of the program's window:

The exact final result may be slightly different from the displayed result for a variety of reasons.  Please note that the calculations will take longer to complete when this option is enabled.

Related Topics:

Saving the Settings and Values on Exit

Comparing APRCalc with Actual Payments


Keeping APRCALC Topmost
Keeping APRCalc Always on Top

The APRCalc window can be made to always be the topmost window (even when inactive) by selecting "Always On Top" from the "Options" menu.  (This may have undesirable effects on screen saver displays.)

Related Topics:

Saving the Settings and Values on Exit


Set Spinbutton Increments
Setting the Spinbutton Increments

The spinbuttons, located to the left of the edit fields, are used to "roll" the values up or down.  This feature makes it easy to quickly compare scenarios using round numbers, without sacrificing the ability to enter in your own exact values.

To specify the behavior of the spinbuttons, select the "Settings..." option from the "Options" menu item.  The following dialog box will appear:

The amount by which the spinbuttons increment (or decrement) their field's values can be set by entering a number in the appropriate field.  For example, if you want every click of the "Rate" spinbutton to change the value in the rate field by a quarter of a percentage point, enter "0.25" as the new value for "Rate increment".

The spinbuttons can change the value of the fields, by the amount you specify in this manner, in one of two ways:

1).  The spinbutton can round to the next higher/lower value that is a multiple of the increment value.  For example, if the "Amount" increment is set to $10,000, and the current value of the "Amount" field is $73,333.33, clicking the "up" spinbutton will make the new value $80,000.00.  To enable this kind of behavior for a given field, be sure the "Round to Nearest" box is checked for that field.

2).  The spinbutton can simply add/subtract the increment amount from the current value.  For example, if the "Amount" increment is set to $10,000, and the current value of the "Amount" field is $73,333.33, clicking the "up" spinbutton will make the new value $83,333.33.  To enable this kind of behavior for a given field, be sure the "Round to Nearest" box is not checked for that field.

Clicking the "Ok" button saves your settings; clicking the "Cancel" button restores your old settings.

Related Topics:

Entering Values


Choosing Periods
Choosing the Payment Period

The number of payments per year can be selected by checking one of the menu items for Weekly, BiWeekly, Monthly, and Quarterly periods.  Note that the label for the Term field will change to match the period you select (that is, "Weeks", BiWeeks, "Months", or "Years").   Also note that the numerical value in the Term edit field will not automatically change - so, if you're changing from Months to Quarters, you must remember to divide the number of months you had by three (since there are three months in a quarter).

Related Topics:

Saving the Settings and Values on Exit


Selecting a Background Color

By default, the background color of the APRCalc main window is the same color as the one you have selected in the "Control Panel" (under "Colors") for the "Window Background".  You can change this through the "Options, Color..." menu selection.  Each file saved can have a color assigned to it; when you open the file later, it will display its color,  too.

Related Topics:

Saving the Settings and Values on Exit

Saving a File


Save Settings on Exit
Saving Settings and Values on Exit

If "Save Settings on Exit" is selected from the "Options" menu, the following information will be saved to the profile (APRCALC.INI) and will be used the next time APRCalc is run:

1.	Settings for all options, such as "Watch Calculations," "Always on Top," etc.

2.	The current position of the APRCalc and amortization windows.

3.	The current point size of the text in the amortization window.

Related Topics:

Watching the Calculations

Keeping APRCalc Always on Top

Choosing the Payment Period


Adding a Note to a Loan Scenario

You may add a note to each loan scenario that will be saved along with the loan information in its APR file.  The note may be up to 32,000 characters long.  When a loan scenario has a Note, the Note pushbutton will display a star, as shown below.

Related Topics:

Saving a File


Creating an Icon for a File in Program Manager

APRCalc files can be setup as icons in Program Manager (you could even give them their own group).   There are two ways to do this:

1)   The easy way (See: Creating an Icon for a File in Program Manager Using Drag and Drop).

2).  The hard way (see below).

This is the hard way (the way computer nerds do it).  In the Program Manager, click on the title bar of the group you want to place the file in (this will ensure its selected).

Select "File, New..." from the menu.  The next window will ask if you want a new group or an item (they mean icon).  Select "Program Item".

The next window ("Properties") is the hard part.  If you are comfortable using the "Browse..." screen, do so, as it's the easiest way.   Otherwise, fill in the four fields as follows:

Description - type in what you want the icons title to be.  For example, "My Student Loan".

Command Line - type in the full pathname of the APR file. For example, "C:\APRCALC\JOE_CAR.APR".  (If that doesn't work, its not associated in WIN.INI, so try including the pathname of the APRCalc program: "C:\APRCALC\APRCALC.EXE  C:\APRCALC\JOE_CAR.APR".)

Working Directory - Enter the full pathname of the directory that contains APRCALC.EXE.

ShortCut Key  - you can safely leave blank.

You can also change the icon; I have included a few cheesy looking houses and cars in different colors for customization.

Related Topics:

Creating an Icon for a File in Program Manager Using Drag and Drop


Creating an Icon for a File in Program Manager Using Drag and Drop

You can create an icon for a file in Program Manager by dragging an .APR file from the File Manager to a group in the Program Manager.  Open both the Program Manager and the File Manager.  Put the mouse over an ".APR" file in the Program Manager.  Click the mouse and hold it down, dragging the file to any group in the Program Manager.  Then release the mouse button.

Related Topics:

Creating an Icon for a File in Program Manager

Opening a File via Drag-and-Drop


Opening a File via Drag and Drop

A neat way to to open files is to drag them from the File Manager to the APRCalc window.  All you have to do is have the File Manager and APRCalc both open on the screen.  Put the mouse over top of an .APR file in the Program Manager.  Click the mouse and hold it down, dragging the file to the APRCalc window - then release the mouse button.  Note that this will work even if the APRCalc program is minimized on the screen.

Related Topics:

Creating an Icon for a File in Program Manager Using Drag and Drop

Opening a File

Opening the Most Recently Used Files

Cloning a Copy of APRCalc


Doing Side by Side Comparisons

You can run APRCalc as many times at once as you want.  This allows you to compare two, three, or more different scenarios on the same screen.  You can run multiple copies of APRCalc from the Progam Manager as usual, or, more conveniently, use the "File, Clone" menu selection.

Related Topics:

Cloning a Copy of APRCalc


Un-Installation
Un-Installing APRCalc

To "uninstall" the program, simply erase the following files (depending on how you got APRCalc, some of these files may not exist on your disk):

APRCALC.EXE - the executable run file

APRCALC.HLP - this Help file

APRCALC.INI - the initialization file

FILE_ID.DIZ - the description of this product

ORDER.TXT - the order form for this product

README.TXT - information file


Implementation Notes

APRCalc uses the APR Payment Equation to make its calculations.  Values that can be explicitly formulated, such as payment and amount financed, are calculated in one step.  The rate and term, however, must be calculated iteratively as there is no closed form for them; the bisection method was chosen for its ease of implementation.  Since the equations involved are monotonic around the values typically dealt with in loans, the bisection method is guaranteed to (eventually) converge to an answer.

APRCalc was written in C using Microsoft's Visual C++ version 1.00, and the Microsoft Help Compiler, version 3.10.504, on a 486DX-33 system.  The code uses the medium memory model, and is made up of eight loadoncall, moveable, and discardable modules


Derivation of the APR Equation
The APR Payment Equation

The APR Payment Equation is:

                   Amount * (Rate ^ Term) * (Rate - 1)

Payment =  ----------------------------------------------------

                                (Rate ^ Term) - 1

where "Rate" is equal to one plus the periodic APR rate; for example, given monthly payments and an APR of 10%, "Rate" is 1.008333333 - that is, 1 + (0.10/12).


Comparisons to Actual Payments

The values displayed by APRCalc may not exactly match those that a lender would provide.  There are several possible reasons for this (in order of likelihood):

1.	APR rates can be lowered slightly due to the presence of "Odd Days Interest."  Briefly, if the first payment is more than 30 days from the current date (45 days is common with automobile loans), this will effectively lengthen the loan, which of course increases the amount of interest that must be paid.  The rate is usually increased slightly to account for this, as it is the only changeable variable.

2.	The loan being compared to may not be an APR loan.  Lenders often use terms like "simple interest" and "APR" as if they were interchangeable, when they are in fact different.  Also, a few lenders calculate interest in a proprietary way (but this is rare).

3.	APR calculations are based on the assumption that all periods are equally long.  Calculations that use a 365-day year will not agree with APRCalc.

4.	Mistakes by the lender.  Occasionally lenders' computers are not programmed correctly and compute incorrect payments.  This is very rare, and is embarrassing for the lender, but it does happen.

5.	APRCalc may be in error due to rounding and error accumulation.  Especially in iterative calculations, errors in seemingly insignificant digits can mount quickly.  While care has been taken not to mix very large and very small operands, and all calculations are done using long double variables, no serious effort at sophisticated error analysis has been made with APRCalc (and it seems to give correct answers anyway).

6.	There are no known bugs in APRCalc, but the possibility should not be overlooked.

Some apparent errors are not in fact errors, but are due to the non-continuous nature of converting real numbers to dollars and cents.  If you calculate a payment, and then immediately calculate the amount financed, you will often see the amount financed change by a few cents.  For example, given a payment of $1500, a rate of 10%, and a term of 36 months, the exact amount financed is $46,486.8533779875.  However, people round this to the closest cent (that is, $46,486.85).  In actuality, at 10% and 36 months, any amount financed between $46,486.70 and $46,487.00 will generate a (rounded) payment of $1500.00.  (These penny-fractions can up over the life of a mortgage loan, however; the last payment is used to reconcile the numbers exactly.)

Related Topics:

Watching the Calculations


Planned Enhancements

The following enhancements may be included in future revisions of APRCalc:

- Print a Reg-Z box on-screen and to the printer.

- Allow for odd days interest.

- Do some serious mathematical error analysis.

- Base amortization schedule on a user-provided first payment date.

- Include a toolbar.

- Rewrite in C++

- Add 3-D effects to user interface.

- Include an "effective payment" module to show the payment each month allowing for the federal income tax deduction for mortgage interest, and for inflation.

- Create a module that would show the payments under an ARM.

- Add a module to handle mortgage loan "buydowns" (somehow).

If you have any ideas for improvements, please contact me through CompuServe 71753,2426.

Related Topics:

Registering APRCalc


Revision History

Revision 1.0 - Beta: October, 1993

1.  This first revision was created for submission to the Association of Shareware Professionals (ASP).

Revision 1.1: February, 1994

1.  A compiler switch setting error that prevented the program from running on systems without a math coprocessor was corrected.  This fix also corrected an error in calculation on such systems.

2.  Support for biweekly payments was added.

3.  The amortization calculations are now begun as soon as a "Calculate" button is clicked, and continue after the "Amortize" button is clicked, until the end of the schedule is reached.  Since the display begins immediately, this results in apparently almost instantaneous amortizations.  Also, the amortization calculations now run in the background, allowing other running applications to share the CPU.  Also, the calculations were expressed differently and now run 33% faster.

4.  The way the amortization window is scrolled was enhanced.  Scrolling to the end no longer leaves one line only on the screen, and if the amortization will fit entirely in the window as it is currently sized, the scrollbars go away.

5.  The "Alt-A" keystroke now clicks the "Amortize" button, as it should.

6.  A bug in the way the "Setting..." dialog box restored values if you clicked the "Cancel" button has been corrected.  Also, the "round to nearest" check boxes default to TRUE now.

7.  Previously, if you clicked the "Cancel" button while printing an amortization, all subsequent amortizations would abort while printing also.  This has been fixed.  Also, the percent completed now displays.  The loan variables, and the filename, now print on the hardcopy.

8.  If you attempt to exit Windows and have APRCalc running, and the "Save Settings" menu item is not checked, you are warned that you will lose your values, and are given a chance to save them, dump them, or abort your exit of Windows.

9.  Previously, if you entered a bad value for a variable (for example, -123 months), the "Amortize" button was enabled anyway (when it should have been disabled).  This has been fixed.

10.  You can now run multiple instances of APRCalc on your screen; for example, you may want to do side by side comparisons of a loan at two different rates.  (The program was changed from the compact memory model to the medium.)

11.  The source code has been broken into several modules, which minimizes the memory requirement at any moment, and allows the program to load much more quickly.

12.  All beeps used in the program now use the system-wide settings selected in the Control Panel.

13.  The amortization widow is no longer modal, that is, you can change loan variables with the amortization widow open, and watch the amortization change.  Also, if the "Options, Watch Calculations" menu item is selected, amortization calculations are now shown in the area used to display loan calculations.

14.  The profile file now contains a Revision stamp; the first time the program is run and detects the APRCALC.INI file is from a previous revision, it displays a greeting, erases the APRCALC.INI file, and rewrites it using the new revision format.  Also, the program prompts you to associate the APRCalc program with the .APR extension (unless it's already associated).

15.  The scrollbars used in the previous revision were replaced with subclassed spinbuttons.

16.  Various internal housekeeping patches were made.

17.  A third-party installation program is used on the disk (as opposed to the BBS version) version of APRCalc.

Revision 1.2: June, 1994

1.  Bitmaps in the help file now display a little more quickly.

2.  Only non-dithered colors may now be selected as the background color for loan scenarios.  This is due to a bug in Windows in the way control background colors are displayed.

3.  Previously, if the amortization window was open, and you opened a new APR file, the old amortization schedule would remain on the screen.  This has been fixed.

4.  The maximum term has been decreased slightly to 788 (enough for 30 years of bi-weekly payments, so this shouldn't be much of a problem).

5.  You can now enter the first payment date for a loan, and the amortization will show the date of each payment.

6.  A note can be added to each loan scenario so that you can remind yourself details about the file.  The note can be up to about 32,000 characters.

7.  Several dialog boxes have been fixed so that the <Return>/<Enter> key will move between fields.

8.  A module to calculate the breakeven date for discount points was added.

9.  My crappy-looking spinbuttons were replaced with neat looking microscrolls.


Registering
Registering APRCalc

APRCalc is not free software. It is Shareware, which means you are expected to pay to register the program if you continue to use it.  Your donation will encourage me to write more Windows programs and improve existing ones. To register your copy of APRCalc, please print the file ORDER.TXT, fill it out, and send it (along with a check for $15) to:

Larry Leonard

P.O. Box 2226

Norcross, GA  30091-2226

Please include any comments or ideas for improvements.  You will receive a disk containing the latest revision of APRCalc (without the "nag" screen at the beginning, of course).  Thanks.

Related Topics:

Planned Enhancements


License Agreement and Warranty Disclaimer

Users of APRCalc must accept this disclaimer of warranty:

APRCalc is supplied "as is".  The author disclaims all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose.  The author assumes no liability for damages, direct or consequential, which may result from the use of APRCalc.

APRCalc is a "Shareware program" and is provided at no charge to the user for evaluation.  Feel free to share it with your friends, but please do not give it away altered or as part of another system.  The essence of "user-supported" software is to provide personal computer users with quality software without high prices, and yet to provide incentive for programmers to continue to develop new products.  If you find this program useful and find that you are using APRCalc, and continue to use APRCalc after a reasonable trial period, you must make a registration fee of $15 to Larry Leonard.  The $15 registration fee will license one copy for use on any one computer at any one time.  You must treat this software just like a book.  An example is that this software may be used by any number of people, and may be freely moved from one computer location to another, so long as there is no possibility of it being used at one location while it's being used at another, just as a book cannot be used by two different persons at the same time.

Commercial users of APRCalc must register and pay for their copies of APRCalc within 30 days of first use, or their license is withdrawn.  Site-license arrangements may be made by contacting Larry Leonard.

Anyone distributing APRCalc for any kind of remuneration must first contact Larry Leonard for authorization.  This authorization will be automatically granted to distributors recognized by the ASP as adhering to its guidelines for Shareware distributors, and such distributors may begin offering APRCalc immediately.  (However, Larry Leonard must still be advised, so that the distributor can be kept up-to-date with the latest version of APRCalc.)

You are encouraged to pass a copy of APRCalc along to your friends for evaluation.  Please encourage them to register their copy if they find that they can use it.  All registered users will receive a copy of the latest version of APRCalc.

Related Topics:

Planned Enhancements

Registering APRCalc


Definition of Shareware

Shareware distribution gives users a chance to try software before buying it.  If you try a Shareware program and continue using it, you are expected to register.  Individual programs differ on details - some request registration while others require it, some specify a maximum trial period.  With registration, you get anything from the simple right to continue using the software to an updated program with printed manual.

Copyright laws apply to both Shareware and commercial software, and the copyright holder retrains all rights, with a few specific exceptions as stated below.  Shareware programmers are accomplished programmers, just like commercial authors, and the programs are of comparable quality.  (In both cases, there are good programs and bad ones!)  The main difference is in the method of distribution.  The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group.  For example, some authors require written permission before a commercial disk vendor may copy their Shareware.

Shareware is a distribution method, not a type of software.  You should find software that suits your needs and pocketbook, whether its commercial or Shareware.  The Shareware system makes fitting your needs easier, because you can try before you buy.  And because the overhead is low, prices are low also.  Shareware has the ultimate money-back guarantee - if you don't use the product, you don't pay for it.


The "Payment" is the periodic installment amount of the loan.


The "Amount Financed" is the dollar amount to be borrowed, and against which interest is applied.


The "Term" is the number of periods (for example, months or weeks) that the loan is paid back over.


The "Rate" is the Annual Percentage Rate (APR) that the borrower will pay for the loan.


The "Principal" is that portion of the original Amount Financed that has not yet been paid.


The "Interest" is that portion of the total interest charge for the loan that has not yet been paid.


"Young Doorknob Owners" are people who have made so few payments on their home mortgage loan that they have equity only in the doorknobs.


The "Payment Number" refers to the number of payments that have been made.  When the loan is completely repaid, the Payment Number is the same as the Term; likewise, before any payment have been made, the Payment Number is zero.


A "Profile" is a file that is used by an application to store information (usually settings) from one run to the next.


The APR Payment Equation calculates the equal installments for a loan based on the amount financed, the term, and the rate of the loan.


Iteration refers to a process that is done repeatedly until a desired result is achieved.


The bisection method is a procedure to calculate a "root" of an equation (that is, where the equation is equal to zero) by repeatedly guessing values for the variable in question, seeing if the value yielded was too high or too low, and making the next guess accordingly.  Each guess is exactly halfway between the most recent guess known to be too low and the one known to be too high.


A function is monotonic over a given range if it does not both increase and decrease in value as the value of its dependent variable increases over that range.


"Windows" and "Visual C++" are registered trademarks of Microsoft Corporation.


A "long double" is a variable which (in this implementation) uses 80 bits to represent a real number.  Using long doubles allows for both larger and more accurate numbers to be calculated.


A "counting number" is any positive integer; it is the series "1, 2, 3, ...".


APRCalc - a Microsoft Windows 3.1 loan amortization program.  Copyright 1993-94  by Larry Leonard.


All constants mixed with long doubles were appended with L.  The error tolerance in iterative calculations was reduced to speed them up for coprocessed systems.  The calculations that are printed if the Watch flag is on are done in the WM_PAINT handler now.  The nag screen registration code was enhanced.  Error messages now give source code file and line numbers.  All 1993 copyright notices were changed to include 1994.  Accelerator keys are now loaded correctly.  All functions that return a value are now checked.  The order of equality conditions were reversed to prevent assignment operator errors.  Amortization fields no longer print negative values when APR is very high.  Calculated values are now added to the drop-down lists.  AprStub was replaced by WinStub.  Edit, Paste now always works.  Zero values are never added to drop-down lists.  Combo boxes now roll up if they lose focus.  SendDlgItemMessage() replaced with new Windowsx.h macros.  Implemented wsprintf() arguments  with correct casts.  Long double variables made local.  Filename buffers set for max DOS lengths.  Functions were declared as "static near" when possible.  All variables' and functions' scope were minimized.   Use of include files was minimized, and Windows.h defines used to exclude unneeded sections.  Messageboxes handled in a handler.  Help has its own icon when minimized.  The F1 key now works.  Money conversion functions handle large, negative numbers.  Debugging code to indicate functions.  Cleanup now done in WM_CLOSE messages instead of WM_DESTROY.  Amortization equations rephrased for speed.  Structures were aligned on 32-bit boundaries.